home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / asm / ldt.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  942b  |  41 lines

  1. /*
  2.  * ldt.h
  3.  *
  4.  * Definitions of structures used with the modify_ldt system call.
  5.  */
  6. #ifndef _ASM_X86_LDT_H
  7. #define _ASM_X86_LDT_H
  8.  
  9. /* Maximum number of LDT entries supported. */
  10. #define LDT_ENTRIES    8192
  11. /* The size of each LDT entry. */
  12. #define LDT_ENTRY_SIZE    8
  13.  
  14. #ifndef __ASSEMBLY__
  15. /*
  16.  * Note on 64bit base and limit is ignored and you cannot set DS/ES/CS
  17.  * not to the default values if you still want to do syscalls. This
  18.  * call is more for 32bit mode therefore.
  19.  */
  20. struct user_desc {
  21.     unsigned int  entry_number;
  22.     unsigned int  base_addr;
  23.     unsigned int  limit;
  24.     unsigned int  seg_32bit:1;
  25.     unsigned int  contents:2;
  26.     unsigned int  read_exec_only:1;
  27.     unsigned int  limit_in_pages:1;
  28.     unsigned int  seg_not_present:1;
  29.     unsigned int  useable:1;
  30. #ifdef __x86_64__
  31.     unsigned int  lm:1;
  32. #endif
  33. };
  34.  
  35. #define MODIFY_LDT_CONTENTS_DATA    0
  36. #define MODIFY_LDT_CONTENTS_STACK    1
  37. #define MODIFY_LDT_CONTENTS_CODE    2
  38.  
  39. #endif /* !__ASSEMBLY__ */
  40. #endif
  41.